A solid state disk (SSD) is a high performance storage device that contains no moving parts. SSDs are much faster than typical hard disk drives with conventional rotating magnetic media, and typically include a controller to manage data storage. The controller manages operations of the SSD, including data storage and access as well as communication between the SSD and a host device. The controller also performs Error Correction Code (ECC) to assure integrity of the data written on the SSD. ECC identifies and corrects errors in data communicated between the SSD and the host device. However, some failure mechanisms of the storage media exceed the correction capabilities of the ECC engine resulting in unrecoverable data or data loss. For example, a catastrophic die failure.
U.S. patent application Ser. No. 11/396,262 filed on Mar. 31, 2006 and entitled “Improving Reliability of Write Operations to a Non-Volatile Memory” addresses program failure by keeping a copy of all the data written to an erase block until the last program operation succeeds. This patent application addresses program failure issues rather than ECC failure issues or die failure issues. Therefore, a need has arisen to address ECC failures and/or die failures.